Skip to content

Remove unused v2 options - #12432

Open
philderbeast wants to merge 4 commits into
haskell:masterfrom
cabalism:remove/unused-v2-options
Open

philderbeast wants to merge 4 commits into
haskell:masterfrom
cabalism:remove/unused-v2-options

Conversation

@philderbeast

@philderbeast philderbeast commented Oct 9, 2026 •

Copy link
Copy Markdown
Collaborator

Fixes #12431. Be more explicit about which v1 options v2 command use. Also see #7437.

Options no longer accepted by v2 commands

  • --user
  • --global
  • --enable-deterministic
  • --disable-deterministic
  • --ipid
  • --cid
  • --instantiate-with
  • --disable-response-files
  • --allow-depending-on-private-libs
  • --coverage-for
  • --ignore-build-tools
  • --reinstall
  • --avoid-reinstalls
  • --upgrade-dependencies
  • --shadow-installed-packages
  • --root-cmd
  • The hidden --only

Passing one of the above options now errors as unrecognized, as #8556 made --bindir do for cabal install.

I'll squash commits before applying the merge label if this pull request is approved.


@philderbeast
philderbeast force-pushed the remove/unused-v2-options branch 3 times, most recently from 320c1ae to 46bb1f6 Compare October 9, 2026 18:37
@philderbeast
philderbeast force-pushed the remove/unused-v2-options branch from 46bb1f6 to 31c3808 Compare October 10, 2026 13:26
@andreabedini
andreabedini self-requested a review October 12, 2026 07:28
- Use allow lists instead of deny lists
- Add tests that these v1 options are classified
- Some v1 options are now not accepted by any v2 command:

  --user, --global, --enable-deterministic, --disable-deterministic,
  --ipid, --cid, --instantiate-with, --disable-response-files,
  --allow-depending-on-private-libs, --coverage-for, --ignore-build-tools,
  --reinstall, --avoid-reinstalls, --upgrade-dependencies,
  --shadow-installed-packages, --root-cmd and the hidden --only

- Kept although Legacy does not convert them:
  --enable/--disable-append and --enable/--disable-backup are read by configure
  --force-reinstalls by install --lib
  --dependencies-only is an alias of --only-dependencies
@philderbeast
philderbeast force-pushed the remove/unused-v2-options branch from 31c3808 to e9201b6 Compare October 12, 2026 11:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Remove v1 options that v2 command don't use

2 participants